1. Field of the Invention
Embodiments of the invention generally relate to integrated development environments. More particularly, the invention relates to providing programming assistance in integrated development environments.
2. Background of the Related Art
In an Integrated Development Environment (IDE), computer users and programmers use a program editor to write computer programs and develop software applications in the form of source code. The source code is conventionally written in a high-level programming language, e.g., C++, Java, Pascal, and the like. To run such computer programs in a computer system, a compiler program must convert the source code into executable code or object code.
IDE environments like VisualAge from International Business Machines (or even some code editors) have the ability to prompt the user with various methods or procedures that can be called from a given object. For example, in VisualAge™ for Java™ after typing the name of a Java class (e.g., String) or a variable representing that class, the user can hit “Ctrl-Space” on a personal computer and a list of methods callable for the String class will appear. The user can then select the method they want to invoke, and the IDE updates the program source with the selected method call. This prompting saves not only keystrokes, but also is one of the fundamental reasons that make IDE environments more useful than using basic editors.
Unfortunately, method calls for the most part have a number of potential parameter lists and the amount of variables available to pass to a method may be numerous, creating a difficult task for the programmer to keep track of the method and variable associations. As a result, while programming, the programmer often has to keep notes on what internal and/or external variables to use for each method call, slowing software development and consequently increasing the software development cost.
Therefore, there is a need for a prompting method and apparatus to efficiently display programming assistance information within integrated development environments.